package be.gil.jacky.engine
{
	import be.gil.jacky.entity.Opstelling;
	import be.gil.jacky.entity.Positie;
	import be.gil.jacky.entity.Speler;
	import be.gil.jacky.util.SpelersUtil;
	
	import mx.collections.ArrayCollection;

	
	/* 
	
	Opdracht vul de bank (max. 7 spelers) en zet de rest in de tribune (onbeperkt).
	
	Tips !
	
	- een speler op de bank zetten : opstelling.zetOpBank(speler)
	- een speler in de tribune zetten : opstelling.zetInTribune(speler)
	
	Remember "run program" 
	- Bewaar eerst je code : klik op het diskette icoontje
	- Start het programma : klik op het insect icoontje
	- het programma geeft dan een foutmelding als je code niet correct is of start het programma als het wel okay is.
	
	Remember het "if" statement !
	
	if (condition) 
	{
		doe iets;
	} else {
		doe iets anders;
	}
	
	voorbeeld 
	
	if (a>b) 
	{
		aIsGreater = true;
	} else {
		aIsGreater = false;
	}
	
	*/
	
	
	public class JackyBrein
	{
		public static function maakOpstelling():Opstelling			
		{
			var spelerLijst:ArrayCollection = SpelersUtil.maakSpelersLijstStandard();
			var opstelling:Opstelling = new Opstelling();						
			
			// eerst de basisopstelling ...
			for (var i:int = 1; i < 12; i++) 
			{
				var positie:Positie = opstelling.basisPosities[i]
				for each (var speler1:Speler in spelerLijst) 
				{
					if ( (!opstelling.isInBasis(speler1)) && speler1.speeltOpPositie(positie)) 
					{
						opstelling.zetInBasis(speler1,i);
						break
					}
				}				
			}

			var aantalBankzitters:uint = 0;
			for each (var speler2:Speler in spelerLijst)
			{
				if (!opstelling.isInBasis(speler2)) 
				{
					if (aantalBankzitters < 7)
					{
						opstelling.zetOpBank(speler2);
						aantalBankzitters++;
					}
					else 
					{
						opstelling.zetInTribune(speler2) ;
					}
				}
			}
			
			return opstelling;
		}
		
		
	}
}